package cn.lg.soar.common.exceptions;

import cn.lg.soar.common.data.msg.I18n;

/**
 * 参数校验异常类（异常码“A01”开头）
 * @author luguoxiang
 * @date 2022/6/27
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public class ParameterException extends BaseAException {

    private static final int MIN_CODE = 100;

    public ParameterException(I18n msg, Object... args) {
        super(MIN_CODE, msg, args);
    }

    public ParameterException(String msg, Object... args) {
        super(MIN_CODE, msg, args);
    }

    /**
     * 101：缺少必要数据（必填）
     * 102：数据已存在（唯一校验）
     * 103：字数超出
     * 104：参数格式错误
     * 105：非法字段
     * 106：数据不符合要求
     * @param code
     * @param msg
     * @param args
     */
    public ParameterException(Integer code, I18n msg, Object... args) {
        super(code, msg, args);
        checkCodeRange(code, MIN_CODE, 199);
    }

    public ParameterException(Integer code, String msg, Object... args) {
        super(code, msg, args);
        checkCodeRange(code, MIN_CODE, 199);
    }
}
